<html xmlns="http://www.w3.org/1999/xhtml"
      xmlns:py="http://genshi.edgewall.org/"
      xmlns:xi="http://www.w3.org/2001/XInclude">
<xi:include href="master.html" />
<head>
  <meta content="text/html; charset=UTF-8" http-equiv="content-type" />
  <style type="text/css">
    @import "/static/site/site.css";
  </style>
  <script type="text/javascript" src="/static/site/site.js"></script>
  <link href="/favicon.ico" rel="shortcut icon" type="image/x-icon" />
</head>

<body>
  <div class="Pad" id="TextHere">
    <p><a href="http://code.google.com/p/webpyte/">Webpyte</a> is a new megaframework for web development.</p>
     <h1><a id="Why_use_Webpyte"/>Why use Webpyte?</h1>
     <ul>
     <li><strong>Only 2/3 as much RAM.</strong> TurboGears and Pylons typically use 25 MB RAM for a Hello World and 30 MB for a small website. Webpyte only uses 15 MB and 20 MB respectively. Much of this is due to the CherryPy upgrade. <a href="http://oui.com.br/blog/nando-en/post/turbogears-pylons-ram">Do you know how much RAM you are using in your sites?</a> </li>
     <li><strong>Lightweight</strong>. Webpyte integrates those projects in such a way that, if you aren&#x27;t going to use one of them, it is not even going to be imported. For instance, if you prefer Mako to Genshi, just don&#x27;t import the wp_genshi module. That is all. </li>
     <li>All the advantages of <strong>CherryPy 3.1</strong>. </li>
     <li><strong>Virtual hosts</strong>: You can serve more than one application from the same process.</li>
     <li>Webpyte already has &quot;Auth&quot;, a small, nice <strong>form authentication and authorization</strong> framework. It is easily extensible.</li>
     <li>During development, exceptions are shown by Ian Bicking&#x27;s <strong>evalexception</strong>: you can see the source code, the variables, and interact in a Python interpreter! (Or just have the normal CherryPy 3 behaviour.) </li>
     <li>In production, the exception messages are hidden, but sent to you via <strong>e-mail</strong> (if you want it). </li>
     <li>Webpyte provides a <strong>defaultdict</strong> that is passed to all templates, containing variables and functions that are used very often. </li><li>Webpyte provides <strong>transactions</strong> using SQLAlchemy. And you can use more than one database. </li>
     <li>It works. See <a href='http://code.google.com/p/webpyte/wiki/SitesPoweredByWebpyte'>SitesPoweredByWebpyte</a>.</li>
     <li><strong>Python 2.6.</strong> Other frameworks support ancient Python versions. We are new, so we demand 2.6 which is full of cool features.</li>
     </ul>
  </div>
</body>
</html>
